home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / u_man / cat1 / Performer_demo / eventView.z / eventView
Encoding:
Text File  |  2001-04-17  |  14.1 KB  |  331 lines

  1.  
  2.  
  3.  
  4. eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))       OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss       eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      eeeevvvveeeennnnttttVVVViiiieeeewwww,,,, eeeevvvvpppppppp,,,, eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr,,,, eeeevvvvhhhhiiiisssstttt,,,, eeeevvvvggggrrrraaaapppphhhh,,,, eeeevvvvmmmmeeeerrrrggggeeee - OpenGL Performer
  10.      real-time event generator/viewer.
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      eeeevvvvpppppppp [ options ] infile.def
  14.  
  15.      eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr infile.timefile
  16.  
  17.      eeeevvvvhhhhiiiisssstttt infile.timefile event_name_1 [s|e event_name_2 s|e]
  18.  
  19.      eeeevvvvggggrrrraaaapppphhhh infile.timefile event_name info_name
  20.  
  21.      eeeevvvvmmmmeeeerrrrggggeeee infile1.timefile infile2.timefile
  22.  
  23. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  24.      This page describes tools for adding and viewing real-time events in a
  25.      Performer program. In describes the following programs:
  26.  
  27.           eeeevvvvpppppppp -
  28.                An Event Pre-Processor. This program takes a description of
  29.                user events and generates a C program adding the new events
  30.                into an application programs.
  31.  
  32.           eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr -
  33.                A viewing program for captured events.
  34.  
  35.           eeeevvvvhhhhiiiisssstttt -
  36.                A display program for generating histograms of event durations.
  37.                Usually activated from within eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr.
  38.  
  39.           eeeevvvvggggrrrraaaapppphhhh -
  40.                A display program for plotting functions of event information
  41.                slots.
  42.  
  43.           eeeevvvvmmmmeeeerrrrggggeeee -
  44.                A utility program for merging event files.
  45.  
  46.  
  47.  
  48.    eeeevvvvpppppppp ---- EEEEvvvveeeennnntttt PPPPrrrreeee----PPPPrrrroooocccceeeessssssssoooorrrr....
  49.      eeeevvvvpppppppp is a pre-processor for adding user-events to an OpenGL Performer
  50.      program. It takes an text file describing a set of new event types. It
  51.      produces a C source file and a C include file. Compiling and linking the
  52.      new C source file in your program enables recording the newly generated
  53.      events.
  54.  
  55.      Here's an example of an eeeevvvvpppppppp input file:
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))       OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss       eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
  71.  
  72.  
  73.  
  74.           file "out.timefile";
  75.           max_events 10000;
  76.           c_file "myEvents.c";
  77.           h_file "myEvents.h";
  78.  
  79.           active true;
  80.  
  81.           conditional_sampling true;
  82.  
  83.           malloc "pfSharedMalloc";
  84.  
  85.           group "my_APP"     0x000001;
  86.           group "my_Cull_CB" 0x000002;
  87.  
  88.           group "my_APP"
  89.                   {
  90.                   event "my_pfFrame";
  91.                   event "my_pfSync";
  92.                   };
  93.  
  94.           group "my_Cull_CB"
  95.                   {
  96.                           event "my_Cull_Group_CB"
  97.                                   {
  98.                                           size 5;
  99.                                   };
  100.  
  101.                           event "my_Cull_DCS_CB"
  102.                                   {
  103.                                           size 5;
  104.                                   };
  105.                   };
  106.  
  107.           event "myCB"
  108.                   {
  109.                           info "myInfo"
  110.                           {
  111.                                   type int;
  112.                                   name "myInfoName";
  113.                           };
  114.                   }
  115.  
  116.  
  117.  
  118.  
  119.      The above file defines two groups of events. Each group contains two
  120.      events.  In the second group (my_Cull_CB), each event is an array of five
  121.      events. This is useful for generating the same event types from different
  122.      processes. In this case, each CULL process will generate events on
  123.      callbacks to pfGroups and pfDCS.  The above file also defines an event
  124.      called _m_y_C_B which doesn't belong to any group. This event contains a
  125.      single information slot of type integer on it.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))       OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss       eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
  137.  
  138.  
  139.  
  140.      The _f_i_l_e directive specifies the output file name. If the character ????  is
  141.      used instead of a file name, the generated macros EEEEVVVVEEEENNNNTTTT____WWWWRRRRIIIITTTTEEEE and
  142.      EEEEVVVVEEEENNNNTTTT____WWWWRRRRIIIITTTTEEEE____AAAALLLLLLLL will require a file name as a parameter.
  143.  
  144.      The _m_a_x__e_v_e_n_t_s directive specifies the maximum number of events that will
  145.      be allocated and captured.
  146.  
  147.      The _c__f_i_l_e and _h__f_i_l_e directives specify the file names for the source
  148.      code files that eeeevvvvpppppppp generates.
  149.  
  150.      The _a_c_t_i_v_e directive may be _t_r_u_e or _f_a_l_s_e. It determines whether eeeevvvvpppppppp
  151.      will generate empty macros. This is useful when trying to avoid
  152.      generating any macros without changing any application source code.
  153.  
  154.      The _c_o_n_d_i_t_i_o_n_a_l__s_a_m_p_l_i_n_g directive can be _t_r_u_e or _f_a_l_s_e. If _f_a_l_s_e, events
  155.      will be captured regardless of the call to EEEEVVVVEEEENNNNTTTT____SSSSAAAAMMMMPPPPLLLLEEEE____OOOONNNN.
  156.  
  157.      The _m_a_l_l_o_c directive allows defining an alternative memory allocation for
  158.      internal eventView use. If using anything other than "pfSharedMalloc" as
  159.      the _m_a_l_l_o_c value, the application must supply a function receiving an int
  160.      and returning a void* pointer to newly allocated memory. pfSharedMalloc
  161.      is a built in function that allocates memory off the Performer shared
  162.      arena.
  163.  
  164.      When defining a group of events, one must first define a group mask. The
  165.      _g_r_o_u_p directive accept a group name and a mask. Masks may overlap. This
  166.      is useful for defining hierarchies of groups.
  167.  
  168.      An _e_v_e_n_t directive is used for defining single events. They may be inside
  169.      or outside the definition of a group. And event should have a name, and
  170.      may have a size and information slots. In the example above, an event of
  171.      size 5 is effectively an array of five independent events. This is useful
  172.      for creating per-pipe events.
  173.  
  174.  
  175.  
  176.    eeeevvvvpppppppp ccccoooommmmmmmmaaaannnndddd lllliiiinnnneeee ooooppppttttiiiioooonnnnssss
  177.           -h   Print usage string.
  178.  
  179.           -c   Compile generated files. This option can make Makefiles
  180.                simpler.
  181.  
  182.           -n   Set all the events in the input file to inactive. The macros
  183.                generated for all events will be empty. This flag use useful
  184.                when trying to disable the instrumentation of a source file
  185.                without removing the macros.
  186.  
  187.  
  188.  
  189.    eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr ---- aaaa ggggrrrraaaapppphhhhiiiicccc eeeevvvveeeennnntttt ddddiiiissssppppllllaaaayyyy
  190.      eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr generates a graphic display of captures events. Each line in
  191.      its display contains events of a single type. The horizontal axis of the
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))       OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss       eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
  203.  
  204.  
  205.  
  206.      display denotes the time.
  207.  
  208.      An event starts at a vertical bar from the bottom of the event line to
  209.      its middle, continues horizontally and ends as a vertical bar from the
  210.      middle of the event line to its top.
  211.  
  212.  
  213.      eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr kkkkeeeeyyyybbbbooooaaaarrrrdddd////mmmmoooouuuusssseeee ccccoooonnnnttttrrrroooollllssss
  214.  
  215.           Up/Down arrows -
  216.                Change the zoom factor of the display.
  217.  
  218.           Right/Left arrows -
  219.                Shift display window across the captured data.
  220.  
  221.           Left Mouse Button -
  222.                Pick an event start/end. Clicking on one event start/end and
  223.                releasing on another, prints the time difference between the
  224.                two on the top of the display.
  225.  
  226.           Middle Mouse Button -
  227.                Drag the event display window across the captured data.
  228.  
  229.           Right Mouse Button -
  230.                If the mouse is on an event line and the event has information
  231.                fields, allow toggling their display.  If the mouse is not on
  232.                an event line, toggle events displayed or groups displayed.
  233.  
  234.           hhhh key -
  235.                Bring up a histogram program (eeeevvvvhhhhiiiisssstttt) and run it on the
  236.                currently selected event.
  237.  
  238.           ffff key -
  239.                If the event line under the mouse has information slots, ask to
  240.                pick a slot.  Bring up a function plot program (eeeevvvvggggrrrraaaapppphhhh) and
  241.                run it on the selected information slot on the current event.
  242.                EEEESSSSCCCC - Exits eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr.
  243.  
  244.  
  245.      eeeevvvvhhhhiiiisssstttt kkkkeeeeyyyybbbbooooaaaarrrrdddd ccccoooonnnnttttrrrroooollllssss....
  246.  
  247.      Moving the mouse across the window prints how many samples are on the
  248.      histogram bar under the mouse and what time value it represents.
  249.  
  250.  
  251.           Up/Down arrows -
  252.                Change the resolution of the histogram.
  253.  
  254.           Right/Left arrows -
  255.                Change the percentage of samples on both extremes of the
  256.                histogram that we ignore (Displayed as _g_a_r_b_a_g_e on the top of
  257.                the display).
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))       OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss       eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
  269.  
  270.  
  271.  
  272.           EEEESSSSCCCC -
  273.                Exits eeeevvvvhhhhiiiisssstttt.
  274.  
  275.  
  276.    eeeevvvvggggrrrraaaapppphhhh ---- ppppllllooootttt eeeevvvveeeennnntttt iiiinnnnffffoooo....
  277.      eeeevvvvggggrrrraaaapppphhhh is a display program for plotting the information slot of a given
  278.      event type. It is usually activated by eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr.
  279.  
  280.      eeeevvvvggggrrrraaaapppphhhh kkkkeeeeyyyybbbbooooaaaarrrrdddd////mmmmoooouuuusssseeee ccccoooonnnnttttrrrroooollllssss
  281.  
  282.  
  283.           Up/Down arrows -
  284.                Change the resolution of the plot.
  285.  
  286.           Right/Left arrows -
  287.                Translate plot horizontally.
  288.  
  289.           Middle mouse button -
  290.                Drag plot horizontally.
  291.  
  292.  
  293. NNNNOOOOTTTTEEEESSSS
  294.      EventView was originally written by Ran Yakir from BVR Systems.
  295.  
  296.  
  297. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  298.      ppppffffIIIInnnniiiittttiiiiaaaalllliiiizzzzeeeeEEEEvvvveeeennnnttttssss, ppppffffRRRReeeesssseeeettttEEEEvvvveeeennnnttttssss, ppppffffEEEEvvvveeeennnnttttSSSSaaaammmmpppplllleeeeOOOOnnnn, ppppffffEEEEvvvveeeennnnttttSSSSaaaammmmpppplllleeeeOOOOffffffff,
  299.      ppppffffWWWWrrrriiiitttteeeeEEEEvvvveeeennnnttttssss
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.